//package com.qmrz.nb.framework.config;
//
//import cn.hutool.core.net.NetUtil;
//import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
//import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
//import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
//import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
//import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
//import org.mybatis.spring.annotation.MapperScan;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.transaction.annotation.EnableTransactionManagement;
//
//import java.util.List;
//
///**
// * mybatis-plus配置类(下方注释有插件介绍)
// * created by liang on 2022-04-07.
// */
//@EnableTransactionManagement(proxyTargetClass = true)
//@Configuration
//@MapperScan("${mybatis-plus.mapperPackage}")
//public class MybatisPlusConfig {
//
//
//    @Bean
//    public MybatisPlusInterceptor mybatisPlusInterceptor() {
//        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//        // 分页插件
//        interceptor.addInnerInterceptor(paginationInnerInterceptor());
//        // 乐观锁插件
//        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
//        return interceptor;
//    }
//
//    /**
//     * 分页插件，自动识别数据库类型
//     */
//    public PaginationInnerInterceptor paginationInnerInterceptor() {
//        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
//        // 设置最大单页限制数量，默认 500 条，-1 不受限制
//        paginationInnerInterceptor.setMaxLimit(-1L);
//        // 分页合理化
//        paginationInnerInterceptor.setOverflow(true);
//        return paginationInnerInterceptor;
//    }
//
//    /**
//     * 乐观锁插件
//     */
//    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
//        return new OptimisticLockerInnerInterceptor();
//    }
//
//
//
//    /**
//     * 使用网卡信息绑定雪花生成器
//     * 防止集群雪花ID重复
//     */
//    @Bean
//    public IdentifierGenerator idGenerator() {
//        return new DefaultIdentifierGenerator(NetUtil.getLocalhost());
//    }
//
//    /**
//     * PaginationInnerInterceptor 分页插件，自动识别数据库类型
//     * https://baomidou.com/pages/97710a/
//     * OptimisticLockerInnerInterceptor 乐观锁插件
//     * https://baomidou.com/pages/0d93c0/
//     * MetaObjectHandler 元对象字段填充控制器
//     * https://baomidou.com/pages/4c6bcf/
//     * ISqlInjector sql注入器
//     * https://baomidou.com/pages/42ea4a/
//     * BlockAttackInnerInterceptor 如果是对全表的删除或更新操作，就会终止该操作
//     * https://baomidou.com/pages/f9a237/
//     * IllegalSQLInnerInterceptor sql性能规范插件(垃圾SQL拦截)
//     * IdentifierGenerator 自定义主键策略
//     * https://baomidou.com/pages/568eb2/
//     * TenantLineInnerInterceptor 多租户插件
//     * https://baomidou.com/pages/aef2f2/
//     * DynamicTableNameInnerInterceptor 动态表名插件
//     * https://baomidou.com/pages/2a45ff/
//     */
//
//}
//
